﻿using System;
using System.Collections.Generic;
using System.ServiceModel;
using Budget.Wcf.Core.Dto;

namespace Budget.Wcf.Core.Interfaces
{
    [ServiceContract]
    public interface IOutcomeService
    {
        [OperationContract]
        IList<CategoryData> GetAllCategories();

        [OperationContract]
        OutcomeOrderResult AddOutcomeOrder(OutcomeOrderData outcomeOrderData);

        [OperationContract]
        IList<OutcomeOrderData> GetOutcomeOrdersByDate(DateTime date);

        [OperationContract]
        IList<OutcomeOrderData> GetMonthOutcomes(int year, int month);

        [OperationContract]
        void UpdateCategory(CategoryData categoryData);

        [OperationContract]
        void UpdateProduct(ProductData productData);

        [OperationContract]
        void DeleteOutcomeOrder(OutcomeOrderData outcomeOrderData);

        [OperationContract]
        void UpdateOutcomeOrder(OutcomeOrderData outcomeOrderData);
    }
}
